كيفية تثبيت وإعداد Nginx مع دعم HTTP/2 على نظام أوبنتو 14.04
مقدمة:
يعد Nginx أحد أشهر خوادم الويب التي تستخدم على نطاق واسع في مختلف بيئات الإنتاج بفضل أدائه العالي ومرونته في التعامل مع أنواع مختلفة من حركة مرور الإنترنت. منذ أن أصبح بروتوكول HTTP/2 معياراً عالمياً لتحسين أداء الشبكة وتقليل الزمن المستغرق في تحميل الصفحات، كان من المهم إضافة دعم هذا البروتوكول لخوادم الويب.
في هذا المقال، سنستعرض كيفية تثبيت وتكوين خادم Nginx مع دعم HTTP/2 على نظام أوبنتو 14.04، مع التركيز على جميع الخطوات اللازمة لتحقيق ذلك بشكل فعال.
المتطلبات الأساسية:
-
جهاز يعمل بنظام أوبنتو 14.04.
-
صلاحيات الوصول إلى الجذر (root) أو القدرة على استخدام sudo.
-
اتصال بالإنترنت لتنزيل الحزم المطلوبة.
الخطوة 1: تحديث النظام
قبل البدء في تثبيت أي برامج، من الأفضل تحديث النظام إلى أحدث إصدار من الحزم المتاحة في المستودعات الخاصة بنظام أوبنتو 14.04. يمكن القيام بذلك باستخدام الأوامر التالية:
bashsudo apt-get update sudo apt-get upgrade
هذا يضمن أن جميع الحزم الأساسية محدثة، مما يسهم في تجنب أي مشكلات قد تنشأ أثناء التثبيت.
الخطوة 2: تثبيت Nginx
بعد تحديث النظام، ننتقل إلى تثبيت خادم الويب Nginx. لتثبيت Nginx على أوبنتو 14.04، يتم تنفيذ الأمر التالي:
bashsudo apt-get install nginx
سيقوم هذا الأمر بتثبيت أحدث إصدار من Nginx المتاح في مستودعات أوبنتو. بعد التثبيت، يمكنك التحقق من حالة Nginx باستخدام الأمر التالي:
bashsudo systemctl status nginx
إذا تم تثبيت Nginx بنجاح، يجب أن ترى رسالة تشير إلى أن الخدمة تعمل.
الخطوة 3: تثبيت OpenSSL (إذا لم يكن مثبتاً)
تتطلب ميزة HTTP/2 دعم تشفير SSL/TLS من أجل تشغيلها بشكل صحيح. إذا لم يكن لديك OpenSSL مثبتًا بالفعل، فيمكنك تثبيته باستخدام الأمر التالي:
bashsudo apt-get install openssl
بعد تثبيت OpenSSL، يمكنك التحقق من وجوده باستخدام الأمر:
bashopenssl version
الخطوة 4: تمكين دعم HTTP/2 في Nginx
يجب على Nginx أن يكون مدمجًا مع دعم HTTP/2 لكي تتمكن من تفعيله. على الرغم من أن أوبنتو 14.04 يحتوي على إصدارات قديمة من Nginx، إلا أن معظم الإصدارات الحديثة من Nginx تدعم HTTP/2 إذا كانت مرتبطة مع OpenSSL 1.0.2 أو إصدار أحدث.
لحل هذه المشكلة، يمكن بناء Nginx من المصدر لدعمه HTTP/2. لنقم أولاً بتثبيت الأدوات المطلوبة لبناء Nginx:
bashsudo apt-get install build-essential libssl-dev zlib1g-dev
ثم نقوم بتنزيل وتثبيت Nginx من المصدر. ابدأ بتنزيل أحدث نسخة من Nginx:
bashcd /usr/local/src
sudo wget http://nginx.org/download/nginx-1.18.0.tar.gz
sudo tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
بعد ذلك، قم بتكوين Nginx لدعمه HTTP/2 باستخدام الأمر التالي:
bashsudo ./configure --with-http_ssl_module --with-http_v2_module
ثم قم ببناء وتثبيت Nginx:
bashsudo make sudo make install
بعد الانتهاء من التثبيت، تأكد من تحديث Nginx باستخدام الأمر:
bashsudo /usr/local/nginx/sbin/nginx -v
يجب أن تشاهد الآن النسخة المثبتة من Nginx مع دعم HTTP/2.
الخطوة 5: تكوين Nginx لاستخدام HTTP/2
بعد تثبيت Nginx مع دعم HTTP/2، تحتاج إلى تعديل ملفات التكوين الخاصة بـ Nginx لتمكين بروتوكول HTTP/2. عادةً ما تكون هذه الملفات موجودة في مجلد /etc/nginx/.
افتح الملف /etc/nginx/sites-available/default باستخدام محرر نصوص مثل nano:
bashsudo nano /etc/nginx/sites-available/default
ابحث عن السطر الذي يحتوي على listen 443 ssl;، ثم قم بتعديله لتمكين HTTP/2 بإضافة http2 إلى السطر:
nginxlisten 443 ssl http2;
تأكد من أن لديك شهادة SSL صالحة، حيث أن HTTP/2 يتطلب اتصالًا مشفرًا عبر SSL/TLS. إذا لم تكن قد قمت بإنشاء شهادة SSL من قبل، يمكنك استخدام أدوات مثل Let’s Encrypt للحصول على شهادة SSL مجانية.
الخطوة 6: اختبار التكوين وإعادة تشغيل Nginx
قبل إعادة تشغيل Nginx لتطبيق التغييرات، من المهم التأكد من أن التكوين لا يحتوي على أخطاء. يمكنك التحقق من تكوين Nginx باستخدام الأمر:
bashsudo nginx -t
إذا كان كل شيء صحيحًا، سترى رسالة تؤكد أن التكوين صحيح. بعد ذلك، أعد تشغيل خدمة Nginx لتطبيق التغييرات:
bashsudo systemctl restart nginx
الخطوة 7: التحقق من دعم HTTP/2
بمجرد أن تقوم بتفعيل دعم HTTP/2، يمكنك التحقق من أنه يعمل بشكل صحيح باستخدام أداة مثل tools.keycdn.com/http2-test. أدخل عنوان موقعك الإلكتروني في الأداة للتحقق من أن خادمك يدعم HTTP/2.
الخطوة 8: تحسين الأداء (اختياري)
بعد تمكين HTTP/2، يمكنك تحسين الأداء العام لخادم Nginx من خلال تنفيذ بعض التعديلات الأخرى مثل تمكين ضغط Gzip، وتحديد القيم المناسبة للذاكرة المؤقتة (cache), واستخدام HTTP/2 بشكل كامل.
لتمكين ضغط Gzip، أضف الأسطر التالية إلى ملف تكوين Nginx:
nginxgzip on;
gzip_types text/plain text/css application/javascript application/json;
gzip_min_length 1000;
لتفعيل تحسينات إضافية، يمكنك أيضًا تكوين Nginx لتقليل زمن الاستجابة من خلال تقنيات مثل التحميل المسبق للموارد (preload) أو تقسيم الملفات (chunking).
الخاتمة:
بتنفيذ هذه الخطوات، ستكون قد نجحت في تثبيت وإعداد Nginx مع دعم HTTP/2 على نظام أوبنتو 14.04. بروتوكول HTTP/2 يساهم بشكل كبير في تسريع تحميل الصفحات وتحسين الأداء بشكل عام، مما يوفر تجربة أفضل للمستخدمين على مواقع الويب التي تعتمد على هذا البروتوكول.

